/**
 * 获取回调的结果
 * 所有的自定义正确回调都走这里
 */
const getResult = (result = {}, status = 200) => {
	if (!result.status) {
		result.status = 200
	}
	return result
}

/**
 * 获取回调的错误
 * 所有的自定义错误都走这里
 * errData：如果存在，表示要写入错误数据库记录下来
 */
const getError = (message, code = 999, errData) => {
	if (typeof(message) === 'string' || typeof(message) === 'number') {
		const error = new Error()
		error.message = message
		error.code = code
		console.error('接收错误：')
		console.log(message)
		if (errData) {
			const basedata = require('./data/')
			if (basedata[basedata.current].errorDb) { // 只有存在错误数据库时才写入
				// 需要获取的基本信息
				const keys = ['spaceName', 'functionName', 'methodName', 'params', 'necessary', 'requestId']
				const common = require('./common')
				keys.map(key => {
					errData[key] = common[key]
				})
				// 写入错误数据库
				const db = uniCloud.database()
				db.collection(basedata[basedata.current].errorDb).add(errData).then(res => {
					console.log(res)
				}).catch(err => {
					console.log(err)
				})
			}
		}
		return error
	}
	return message
}

module.exports = {
	getResult,
	getError
}